from django.db import models
# from django.contrib.auth.models import User
# from user_info.models import Profile
class Post(models.Model):
    """
    Post 模型，用于存储用户发布的动态信息
    """
    time = models.DateTimeField(auto_now_add=True)  # 动态发布的时间，自动设置为创建时的当前时间
    content = models.TextField()  # 动态的内容
    imgkey = models.CharField(max_length=255)  # 图片的键（如存储在云服务上的键值）
    is_shared = models.BooleanField()  # 该动态是否为转发动态
    shareid = models.CharField(max_length=255, blank=True, null=True)  # 转发的动态ID（如果是转发动态）
    #user = models.ForeignKey(Profile, on_delete=models.CASCADE)  # 发布动态的用户，与User模型关联

    def to_dict(self):
        """
        将 Post 对象转换为字典格式，便于序列化和传输
        :return: 字典形式的动态信息
        """
        return {
            "postid": self.pk,  # 动态ID
            "time": self.time,  # 发布的时间
            "content": self.content,  # 动态的内容
            "imgkey": self.imgkey,  # 图片的键
            "isShared": self.is_shared,  # 是否为转发动态
            "shareid": self.shareid,  # 转发的动态ID
            "userid": self.user.id,  # 发布动态的用户ID
            "username": self.user.username  # 发布动态的用户名
        }
